package com.whalehearing.tingyou.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.whalehearing.tingyou.common.annotation.Excel;
import com.whalehearing.tingyou.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 测前初评对象 hearing_initial_valuation
 *
 * @author zengjun-qxm
 * @date 2024-09-14
 */
@Data
@ToString
@NoArgsConstructor
@Accessors(chain = true)
@TableName("hearing_initial_valuation")
@ApiModel(value = "HearingInitialValuation", description = "测前初评实体")
public class HearingInitialValuation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 测前初评id */
    @TableId(type= IdType.AUTO)
    @ApiModelProperty("测前初评id")
    private Long initialValuationId;

    /** 用户ID */
    @Excel(name = "用户ID")
    @ApiModelProperty("用户ID")
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    /** 昵称 */
    @Excel(name = "昵称")
    @ApiModelProperty("昵称")
    @NotBlank(message = "昵称不能为空")
    private String nickName;

    /** 性别 */
    @Excel(name = "性别")
    @ApiModelProperty("性别")
    @NotNull(message = "性别不能为空")
    private Integer sex;

    /** 年龄区间 */
    @Excel(name = "年龄区间")
    @ApiModelProperty("1.0 年龄区间")
    //@NotNull(message = "年龄区间不能为空")
    private Integer ageRange;

    @ApiModelProperty("2.0 年龄分组 1：0-8岁，2：9-18岁 3：18岁以上")
    private Integer ageGroup;

    /** 听力下降时间 */
    @Excel(name = "听力下降时间")
    @ApiModelProperty("听力下降时间")
    //@NotNull(message = "听力下降时间不能为空")
    private Integer hearingLossTime;

    @Excel(name = "听力下降时间")
    @ApiModelProperty("2.0 听力下降时间 1 72小时内 2 3个月内 3 3个月-1年内 4 1-3年 5 3年以上")
    //@NotNull(message = "听力下降时间不能为空")
    private Integer hearingReduceTime;

    /** 听力损失原因 */
    @Excel(name = "听力损失原因")
    @ApiModelProperty("听力损失原因")
    @NotNull(message = "听力损失原因不能为空")
    private Integer hearingLossCause;

    /** 是否存在耳部疾病 */
    @Excel(name = "是否存在耳部疾病")
    @ApiModelProperty("是否存在耳部疾病")
    //@NotNull(message = "是否存在耳部疾病")
    private Integer earDiseaseExists;

    /** 症状 */
    @Excel(name = "症状")
    @ApiModelProperty("症状,其中9表示无")
    private String symptoms;

    @ApiModelProperty("是否有耳鸣 1 是 2 否")
    private Integer isTinnitus;

    /** 是否删除 */
    @ApiModelProperty("是否删除")
    @JsonIgnore
    private Integer isDeleted;

    @ApiModelProperty("当前是否过敏，感冒或者耳部，鼻窦感染 1 是 2 否")
    private Integer isIll;

    @ApiModelProperty("过去24小时是否处于嘈杂环境，1 是 2 否")
    private Integer isInNoisy;

    @ApiModelProperty("哪一侧的耳朵听力更好，1 左耳 2 右耳 3 都一样")
    private Integer betterEar;

}
